[INFO] fetching crate tinkv 0.10.0...
[INFO] checking tinkv-0.10.0 against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] extracting crate tinkv 0.10.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate tinkv 0.10.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate tinkv 0.10.0
[INFO] tweaked toml for crates.io crate tinkv 0.10.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tinkv 0.10.0 on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tinkv 0.10.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror v1.0.19
[INFO] [stderr]   Downloaded thiserror-impl v1.0.19
[INFO] [stderr]   Downloaded sys-info v0.7.0
[INFO] [stderr]   Downloaded clap-verbosity-flag v0.3.1
[INFO] [stderr]   Downloaded crc v1.8.1
[INFO] [stderr]   Downloaded bytefmt v0.1.7
[INFO] [stderr]   Downloaded treeline v0.1.0
[INFO] [stderr]   Downloaded os_info v2.0.6
[INFO] [stderr]   Downloaded impls v1.0.3
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.63
[INFO] [stderr]   Downloaded predicates-tree v1.0.0
[INFO] [stderr]   Downloaded predicates-core v1.0.0
[INFO] [stderr]   Downloaded bincode v1.2.1
[INFO] [stderr]   Downloaded hermit-abi v0.1.13
[INFO] [stderr]   Downloaded proc-macro-error-attr v1.0.2
[INFO] [stderr]   Downloaded build_const v0.2.1
[INFO] [stderr]   Downloaded float-cmp v0.6.0
[INFO] [stderr]   Downloaded escargot v0.4.0
[INFO] [stderr]   Downloaded anyhow v1.0.31
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.63
[INFO] [stderr]   Downloaded assert_cmd v0.11.1
[INFO] [stderr]   Downloaded proc-macro-error v1.0.2
[INFO] [stderr]   Downloaded syn-mid v0.5.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.63
[INFO] [stderr]   Downloaded predicates v1.0.4
[INFO] [stderr]   Downloaded structopt-derive v0.4.7
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.63
[INFO] [stderr]   Downloaded cc v1.0.55
[INFO] [stderr]   Downloaded serde_derive v1.0.111
[INFO] [stderr]   Downloaded structopt v0.3.14
[INFO] [stderr]   Downloaded serde v1.0.111
[INFO] [stderr]   Downloaded js-sys v0.3.40
[INFO] [stderr]   Downloaded serde_json v1.0.53
[INFO] [stderr]   Downloaded backtrace v0.3.49
[INFO] [stderr]   Downloaded addr2line v0.12.2
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.63
[INFO] [stderr]   Downloaded syn v1.0.30
[INFO] [stderr]   Downloaded sled v0.32.0
[INFO] [stderr]   Downloaded web-sys v0.3.40
[INFO] [stderr]   Downloaded gimli v0.21.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db
[INFO] running `Command { std: "docker" "start" "47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.30
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking aho-corasick v0.7.10
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.2
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.2
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]    Compiling cc v1.0.55
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling build_const v0.2.1
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking clap v2.33.1
[INFO] [stderr]    Compiling crc v1.8.1
[INFO] [stderr]     Checking getrandom v0.1.14
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]    Compiling anyhow v1.0.31
[INFO] [stderr]    Compiling rayon-core v1.7.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking bytefmt v0.1.7
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]    Compiling rayon v1.3.1
[INFO] [stderr]    Compiling sys-info v0.7.0
[INFO] [stderr]     Checking impls v1.0.3
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]     Checking predicates-core v1.0.0
[INFO] [stderr]    Compiling escargot v0.4.0
[INFO] [stderr]     Checking adler32 v1.1.0
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.8
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]     Checking gimli v0.21.0
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking float-cmp v0.6.0
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking rand_pcg v0.2.1
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking treeline v0.1.0
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking predicates v1.0.4
[INFO] [stderr]     Checking predicates-tree v1.0.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking plotters v0.2.15
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking oorandom v11.1.2
[INFO] [stderr]     Checking remove_dir_all v0.5.2
[INFO] [stderr]     Checking criterion-plot v0.4.2
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking addr2line v0.12.2
[INFO] [stderr]     Checking backtrace v0.3.49
[INFO] [stderr]     Checking sled v0.32.0
[INFO] [stderr]    Compiling syn-mid v0.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.111
[INFO] [stderr]    Compiling thiserror-impl v1.0.19
[INFO] [stderr]    Compiling structopt-derive v0.4.7
[INFO] [stderr]     Checking thiserror v1.0.19
[INFO] [stderr]     Checking structopt v0.3.14
[INFO] [stderr]     Checking clap-verbosity-flag v0.3.1
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking os_info v2.0.6
[INFO] [stderr]     Checking bincode v1.2.1
[INFO] [stderr]     Checking bstr v0.2.13
[INFO] [stderr]     Checking tinkv v0.10.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking csv v1.1.3
[INFO] [stderr]     Checking tinytemplate v1.1.0
[INFO] [stdout] warning: field `buf` is never read
[INFO] [stdout]    --> src/resp.rs:300:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub(crate) struct Deserializer<B> {
[INFO] [stdout]     |                   ------------ field in this struct
[INFO] [stdout] 299 |     inner: ByteLineReader<B>,
[INFO] [stdout] 300 |     buf: Vec<u8>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Deserializer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn as_error(&self) -> Option<Error> {
[INFO] [stdout]     |                     ^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn as_error(&self) -> Option<Error<'_>> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/data.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InnerEntry`
[INFO] [stdout] 15 | struct InnerEntry {
[INFO] [stdout]    |        ---------- `InnerEntry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/data.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InnerEntry`
[INFO] [stdout] 15 | struct InnerEntry {
[INFO] [stdout]    |        ---------- `InnerEntry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/hint.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^--------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Entry`
[INFO] [stdout] 15 | pub(crate) struct Entry {
[INFO] [stdout]    |                   ----- `Entry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/hint.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Entry`
[INFO] [stdout] 15 | pub(crate) struct Entry {
[INFO] [stdout]    |                   ----- `Entry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/segment/hint.rs:107:30
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub(crate) fn entry_iter(&mut self) -> EntryIter {
[INFO] [stdout]     |                              ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub(crate) fn entry_iter(&mut self) -> EntryIter<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion v0.3.2
[INFO] [stderr]     Checking assert_cmd v0.11.1
[INFO] [stdout] warning: field `buf` is never read
[INFO] [stdout]    --> src/resp.rs:300:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub(crate) struct Deserializer<B> {
[INFO] [stdout]     |                   ------------ field in this struct
[INFO] [stdout] 299 |     inner: ByteLineReader<B>,
[INFO] [stdout] 300 |     buf: Vec<u8>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Deserializer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn as_error(&self) -> Option<Error> {
[INFO] [stdout]     |                     ^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn as_error(&self) -> Option<Error<'_>> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/data.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InnerEntry`
[INFO] [stdout] 15 | struct InnerEntry {
[INFO] [stdout]    |        ---------- `InnerEntry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/data.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InnerEntry`
[INFO] [stdout] 15 | struct InnerEntry {
[INFO] [stdout]    |        ---------- `InnerEntry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/hint.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^--------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Entry`
[INFO] [stdout] 15 | pub(crate) struct Entry {
[INFO] [stdout]    |                   ----- `Entry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/segment/hint.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Entry`
[INFO] [stdout] 15 | pub(crate) struct Entry {
[INFO] [stdout]    |                   ----- `Entry` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/segment/hint.rs:107:30
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub(crate) fn entry_iter(&mut self) -> EntryIter {
[INFO] [stdout]     |                              ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub(crate) fn entry_iter(&mut self) -> EntryIter<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db", kill_on_drop: false }`
[INFO] [stdout] 47083c55ccc268935d5893d160d18e60237ff368f626d943e5e546a7571fc1db
